package com.show.mytest;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;

public class Test01 {
    public static void main(String[] args) {
        //键盘录入一段字符串,判断每个字符出现的次数

        //创建键盘输入对象
        Scanner sc = new Scanner(System.in);
        // 创建控制台提示信息
        System.out.println("请输入一段字符串");
        // 使用sc接收字符串
        String str = sc.nextLine();
        // 创建一个map集合
        Map<Character,Integer> map = new HashMap<>();
        // 将字符串转换为字符数组
        char[] charArray = str.toCharArray();
        // 遍历键盘录入的字符数组
        for (char ch : charArray) {
            if (map.containsKey(ch)){           // 判断map集合中的键是否有该字符
                map.put(ch,map.get(ch) + 1);    // 有再放入一次键值对,值 + 1
            } else {
                map.put(ch,1);                  // 没有放入map集合,值为1
            }
        }
        // 遍历集合 获取entrySet对象
        Set<Map.Entry<Character, Integer>> entries = map.entrySet();
        // 遍历entries对象
        for (Map.Entry<Character, Integer> entry : entries) {
            Character key = entry.getKey();     // 获得键
            Integer value = entry.getValue();   // 获得值
            System.out.println("字符: " + key + " 共出现了 " + value + " 次");     // 输出控制台
        }

    }
}
